package com.lancoo.edu.platform.operation.backupRestore.strategy.backupRestore;

/**
 * @author lzh
 * @date 2024/2/19 11:32
 * @description 数据备份还原策略抽象接口
 */
public interface BackupRestoreStrategy {

    /**
     * 备份方法
     *
     * @param sysId        系统ID
     * @param databaseName 数据库
     * @param savePath     保存地址（目录不包括文件）
     * @param databaseDump 对应数据库导出引擎地址
     * @param userName     用户名
     * @param password     密码
     * @param port         端口
     * @param host         数据库所在IP
     */
    String backup(String sysId, String databaseName, String savePath, String databaseDump, String userName, String password, String host, String port);

    /**
     * 还原方法
     *
     * @param sysId        系统ID
     * @param databaseName 数据库
     * @param savePath     还原的文件地址
     * @param saveDir      保存地址（目录不包括文件）
     * @param databaseDump 对应数据库导出引擎地址
     * @param userName     用户名
     * @param password     密码
     * @param port         端口
     * @param host         数据库所在IP
     */
    String restore(String sysId, String databaseName, String savePath, String saveDir, String databaseDump, String userName, String password, String host, String port);
}
